home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_mc.idb / usr / freeware / lib / mc / extfs / rar.z / rar
Encoding:
Text File  |  1998-10-28  |  958 b   |  49 lines

  1. #! /bin/sh
  2. #
  3. # Written by andrey joukov
  4. # (C) 1996 2:5020/337.13@fidonet.org
  5. # beta version 1.0
  6. #
  7. UNRAR=rar
  8. #
  9. # NOTE: rar ver 2.0 by Eugene Roshal
  10. # ftp.elf.stuba.sk/pub/pc/pack
  11. #
  12.  
  13. mcrarfs_list ()
  14. {
  15.      $UNRAR v -c- $1 | nawk -v uid=${UID-0} '
  16. BEGIN { flag=0; date="JanFebMarAprMayJunJulAugSepOctNovDec" }
  17. /^-------/ { flag++; if (flag > 1) exit 0; next }
  18. {
  19. if (flag == 0) next
  20. if (NF == 1) str = $1
  21. else {
  22.     if (str ~ /^\^/)
  23.     str=substr(str, 2)
  24.     split($4, a, "-")
  25.     if (a[3] < 50)
  26.     a[3] = 2000 + a[3]
  27.     else
  28.     a[3] = 1900 + a[3]
  29.     if (index($6, "D") != 0)
  30.     $6="drwxr-xr-x"
  31.     else
  32.     if (index($6, ".") != 0)
  33.         $6="-rw-r--r--"
  34.     printf "%s   1 %-8d %-8d %8d %3s %2d %4d %s %s\n", $6, uid, 0, $1, substr(date, (a[2]-1)*3+1, 3), a[1], a[3], $5, str
  35. }
  36. }' 2>/dev/null
  37. }
  38.  
  39. mcrarfs_copyout ()
  40. {
  41.     $UNRAR p -c- -inul $1 $2 > $3 2>/dev/null
  42. }
  43.  
  44. case "$1" in
  45.   list) mcrarfs_list $2; exit 0;;
  46.   copyout) mcrarfs_copyout $2 $3 $4; exit 0;;
  47. esac
  48. exit 1
  49.